return TRUE;
}
-static gboolean
-parse_font_with_pango (GtkCssShorthandProperty *shorthand,
- GtkCssValue **values,
- GtkCssParser *parser)
-{
- PangoFontDescription *desc;
- guint mask;
- char *str;
-
- str = _gtk_css_parser_read_value (parser);
- if (str == NULL)
- return FALSE;
-
- desc = pango_font_description_from_string (str);
- g_free (str);
-
- mask = pango_font_description_get_set_fields (desc);
-
- if (mask & PANGO_FONT_MASK_FAMILY)
- {
- values[0] = _gtk_css_array_value_new (_gtk_css_string_value_new (pango_font_description_get_family (desc)));
- }
- if (mask & PANGO_FONT_MASK_STYLE)
- {
- values[1] = _gtk_css_font_style_value_new (pango_font_description_get_style (desc));
- }
- if (mask & PANGO_FONT_MASK_VARIANT)
- {
- values[2] = _gtk_css_font_variant_value_new (pango_font_description_get_variant (desc));
- }
- if (mask & PANGO_FONT_MASK_WEIGHT)
- {
- values[3] = _gtk_css_font_weight_value_new (pango_font_description_get_weight (desc));
- }
- if (mask & PANGO_FONT_MASK_STRETCH)
- {
- values[4] = _gtk_css_font_stretch_value_new (pango_font_description_get_stretch (desc));
- }
- if (mask & PANGO_FONT_MASK_SIZE)
- {
- values[5] = _gtk_css_number_value_new ((double) pango_font_description_get_size (desc) / PANGO_SCALE, GTK_CSS_PX);
- }
-
- pango_font_description_free (desc);
-
- return TRUE;
-}
-
static gboolean
parse_font (GtkCssShorthandProperty *shorthand,
GtkCssValue **values,
values[5] = gtk_css_font_size_value_parse (parser);
- if (values[1] == NULL && values[2] == NULL && values[3] == NULL &&
- values[4] == NULL && values[5] == NULL)
- {
- if (parse_font_with_pango (shorthand, values, parser))
- {
- _gtk_css_parser_error_full (parser,
- GTK_CSS_PROVIDER_ERROR_DEPRECATED,
- "Using Pango syntax for the font: style property is deprecated; please use CSS syntax");
- return TRUE;
- }
- }
-
values[0] = gtk_css_font_family_value_parse (parser);
return values[0] != NULL && values[5] != NULL;